package com.course02.order_backend.controller.Ost;

import com.course02.order_backend.common.Ost.Result;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

@RestController
@RequestMapping("/api/upload")
public class UploadController {

    // 头像上传路径（需确保该目录存在且可写）
    private final String AVATAR_DIR = "D:/order_upload/avatars/";

    @PostMapping("/avatar")
    public Result uploadAvatar(@RequestParam("file") MultipartFile file) {
        try {
            // 生成唯一文件名
            String fileName = UUID.randomUUID().toString() +
                    file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
            // 保存文件
            File savePath = new File(AVATAR_DIR + fileName);
            file.transferTo(savePath);
            // 返回访问路径（需配置静态资源映射，否则前端无法访问）
            return Result.success("上传成功", "/upload/avatars/" + fileName);
        } catch (IOException e) {
            e.printStackTrace();
            return Result.error("上传失败：" + e.getMessage());
        }
    }
}